Computerized systems typically store data in memory arrays. A memory array may be arranged as, for example, a group of data cells, with each cell storing one or more bits of data. In this arrangement, a cell or a group of cells may be identified by a memory address. Examples of memory arrays are a dynamic random access memory (DRAM) array, static random access memory (SRAM) array, a read only memory (ROM) array, etc. A memory array may be characterized by a single set of control circuitry that controls the input to and output from that array.
A data item is typically written to a memory array along with an address, and the memory array then stores the data item in memory cells that are identified by that address. At a later time, the memory array may receive a command to read and output the data at that address. Typically, the memory array will then output all of the data stored as a single data item at the same time.
For example, a memory array may receive a command to write data “ABCDEF” to an address 0010. The memory array will then store this data at location 0010. At a later time, the memory array may receive a command to read the data at location 0010. Upon receiving this read command, the memory array will cause the memory cells corresponding to the address 0010 to provide the data stored at that address (here, ABCDEF) to an output path. After allowing for all of the data stored at that address to reach an output port, the memory array will output the data through the output port. Thus, although the data in a particular memory location in the array may not all be equally time sensitive, the data from that location will be output from the memory array at the same time.